package com.fdb.efp.flow.service.dao;

import java.util.List;

import com.fdb.efp.flow.service.vo.BizFlowNodeVO;
import org.apache.ibatis.annotations.Param;

import com.fdb.efp.flow.service.domain.BizFlowNode;

/**
 * <p>DAO interface:业务流转节点信息				<p>
 * @author ligm
 * @date 2018-05-05
 */
public interface BizFlowNodeDao {
	
	public int insertBizFlowNode(BizFlowNode bizFlowNode);
	
	public int deleteByPk(BizFlowNode bizFlowNode);
	
	public int deleteByBizFlowId(String bizFlowId);
	
	public int updateByPk(BizFlowNode bizFlowNode);
	
	public BizFlowNode queryByPk(BizFlowNode bizFlowNode);
	
	public List<BizFlowNode> queryAllOwnerByPage(BizFlowNodeVO bizFlowNode);
	
	public List<BizFlowNode> queryAllCurrOrgByPage(BizFlowNodeVO bizFlowNode);
	
	public List<BizFlowNode> queryAllCurrDownOrgByPage(BizFlowNodeVO bizFlowNode);

	public List<BizFlowNode> queryAllByFlowIdByPage(BizFlowNodeVO bizFlowNode);
	
	public List<BizFlowNode> queryAllByFlowId(BizFlowNodeVO bizFlowNode);
	
	public List<BizFlowNode> queryAllByFlowIdAndEventIdByPage(BizFlowNodeVO bizFlowNode);
	
	public List<BizFlowNode> queryAllByFlowIdAndStageId(BizFlowNodeVO bizFlowNode);
	
	/**
	 * 批量插入
	 * @param list
	 * @return
	 */
	public int batchInsertBizFlowNode(@Param("list") List<BizFlowNode> list);
	
	/**
	 * 根据节点列表查询节点配置
	 * @param nodeIds
	 * @return
	 */
	public List<BizFlowNode> queryBizFlowNodeListByNodeIds(@Param("nodeIds") List<String> nodeIds);
}
